﻿using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using Distrackting.DataLayer;
using System.Collections.Generic;
using System.Collections;

namespace Distrackting.BusinessLayer
{
    public class GerirDificuldade
    {
        public static List<Dificuldade> getDificuldades()
        {
            try
            {
                return dataDificuldade.getDificuldades().ToList();

            }
            catch (Exception) { throw new Exception("Não foi possível consultar a lista dificuldade.");}
        }

        public void inserirDificuldade(String descricao)
        {
            try
            {
                Dificuldade a = new Dificuldade();
                a.descricao = descricao;
                dataDificuldade.createDificuldade(a);
            }
            catch (Exception )
            {
                throw new Exception("Não foi possível inserir a dificuldade.");
            }
        }

        public void apagarDificuldade(Guid cod_dificuldade)
        {
            try
            {
                Dificuldade a = dataDificuldade.getDificuldade(cod_dificuldade);
                dataDificuldade.deleteDificuldade(a);
            }
            catch (Exception )
            {
                throw new Exception("Não foi possível apagar a dificuldade.");
            }
        }

        public Dificuldade getDificuldade(Guid cod_dificuldade)
        {
            try
            {
                return dataDificuldade.getDificuldade(cod_dificuldade);
            }
            catch (Exception )
            {
                throw new Exception("Não foi possível obter a dificuldade.");
            }
        }

        public Dificuldade getDificuldadeByDescricao(String descricao)
        {
            try
            {
                Dificuldade dif = new Dificuldade();
                foreach (Dificuldade a in dataDificuldade.getDificuldades().ToList())
                {
                    if (a.descricao == descricao) return a;
                }
                return dif;
            }
            catch (Exception )
            {
                throw new Exception("Não foi possível obter a dificuldade pretendida.");
            }
        }
    }
}
